class MusicPlayer(object):
    """
    单例模式，第二次实例化时，得到的对象仍然和第一次相同
    """
    instance = None

    def __new__(cls, *args, **kwargs):
        # #1、创建对象时，new方法会被自动调用
        # print('创建对象，分配空间')
        #
        # #2、为对象分配空间
        # instance = super().__new__(cls)
        #
        # #3、返回
        # return instance
        if cls.instance is None: #判断是否申请过了空间
            cls.instance = super().__new__(cls)
        return cls.instance

    def __init__(self):
        print("播放器初始化")


if __name__ == '__main__':
    player1 = MusicPlayer()
    player2 = MusicPlayer()
    print(id(player1))
    print(id(player2))
